<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      // 利用filter 过滤数组  
      var arr = [1, 1, "true", "true", true, true, 15, 15, false, false, undefined, undefined, null, null, NaN, NaN, "NaN", 0, 0, "a", "a", {}, {}];

      var newArr = arr.filter(function (item, index, arr) {

        // 当前元素在 原数组中的第一个索引 == 当前索引值，  则被返回，  
        return arr.indexOf(item, 0) == index;
      });

      console.log(newArr);
      // 0: 1
      // 1: "true"
      // 2: true
      // 3: 15
      // 4: false
      // 5: undefined
      // 6: null
      // 7: "NaN"
      // 8: 0
      // 9: "a"
      // 10: {}
      // 11: {}

      // NaN  被删掉了， 不能去重空对象 
    </script>
  </body>
</html>
